草庐IT

SQLite 表和列名要求

全部标签

MySQL 列名作为与联结表的多对多关系的字段名

这里有点复杂。我一直在寻找一种将结果用作列名的方法,虽然这似乎可行,但我发现的所有示例都使用了非常简单的表格设计。我得到的是3个表。我们有一个“order”表,然后可以有“order_extras”。“extras”表存储额外商品的名称和价格,而“order_extras”基本上包含一个主键、订单ID和额外ID。粗略的图形表示如下:以此为例,假设“extras”表中填充了3个额外的项目,在此阶段名称和价格无关紧要。我想要做的是获取所有订单,但为每个额外项目的名称添加额外的列。如果商品已被购买(也就是在order_extras表中链接),它将显示价格,否则它将为空/空。这可能吗?我一直在

mysql - 选择符合条件的列名 (MySQL)

我的数据库中有以下结构:id,col_a,col_b,col_c,etc...现在,除了id之外的所有其他列都是boolean类型。比方说col_a=1,col_b=0,col_c=1我正在寻找一种方法来返回列为真(=1)的列的名称,因此在此示例中,返回值应该类似于col_a,col_c将有一个动态数量的列,因为表格经常被更改以添加新列并删除旧列。我到目前为止的函数看起来像这样-它是应该返回列名称字符串的函数...DROPFUNCTIONfn_access;DELIMITER//;CREATEFUNCTIONfn_access(myidINT)RETURNSvarchar(800)DE

mysql - GROUP BY 列名而不在 SELECT 列表中选择它

SELECTpersonFROMpersonINNERJOINcollectionmemberONsourceobjectid=personidGROUPBYsourceobjectidHAVINGCOUNT(sourceobjectid)>1;据说如果我们使用GROUPBY子句,GROUPBY列名必须在SELECT列列表中。但是上面的查询在没有选择sourceobjectid的情况下工作。这个查询是如何工作的? 最佳答案 结果不是遇到的第一行。MySQL非常清楚所谓“隐藏列”的用途。引用自documentation:MySQLex

mysql - 使用 MySql 工作台将 SqLite 迁移到 MySql 期间的逆向工程错误

我正在使用MySQLWorkbench迁移向导(社区版)将SQLite数据库迁移到MySql。我已经下载了SQLite的ODBC驱动程序。我能够连接到SQLite并检索架构(参见图一)。但是,在迁移的逆向工程阶段会产生错误(见图二)。在此示例中,错误显示为“错误:第1行:语法错误,意外的TEXT_STRING。已跳过语句。”因为逆向工程因错误而终止,所以模式没有被逆向工程。有谁知道如何解决这个问题?谢谢,卡米尔图一。图二。 最佳答案 根据我的经验,Workbench曾经有很多错误,可能这也是一个错误。万一没有人回答真正的解决方案,我

mysql - 尝试获取列名称为 'ssl' 的列的记录时,选择查询不起作用

有人可以告诉我这个查询有什么问题吗?mysql>selectdom_id,sslfromhosting;我遇到以下错误:ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'sslfromhosting'atline1如果我删除ssl,则查询会给出应有的结果。注意:dom_id和ssl都是hosting表的两列。 最佳答案 试试这个se

mysql - SUM(column name) 给我的结果与在 SQL Server 中手动求和列名不同。为什么?

为什么SUM(Sold)给我的结果与手动对该字段求和不同?如果我手动对Sold字段求和,这是给我正确的查询:SELECTCustCode,FiscalYear,SoldFROMDBNAME.dbo.SALESDETAILWHERE(FiscalYear=YEAR({fnNOW()}))andCustCode='248'GROUPBYCustCode,FiscalYear,Sold但是如果我尝试使用SUM函数,我会得到错误的金额。谁能帮帮我?SELECTCustCode,FiscalYear,SUM(Sold)FROMDBNAME.dbo.SALESDETAILWHERE(FiscalY

java - 在 jOOQ 中限定临时表列名

我正在使用带有临时表的jOOQ:TableTMP=DSL.table("tmp");FieldTYPE=DSL.field("type",String.class);FieldTOKEN=DSL.field("token",String.class);这让我可以编写简单的查询:DSL.select(TYPE,TOKEN).from(TMP)...但是,当我尝试连接另一个表时,它会产生歧义,因为列名TYPE和TOKEN没有用表名限定(即我需要生成的代码看起来像SELECTtmp.type,tmp.token...)。有没有办法做到这一点,要么让Jooq明白临时表有特定的列,要么用限定名称

php - 在mysql中从第二列开始选择表列名

我看到这段代码用于检索mysql表中的所有列名SELECT`COLUMN_NAME`FROM`INFORMATION_SCHEMA`.`COLUMNS`WHERE`TABLE_SCHEMA`='yourdatabasename'AND`TABLE_NAME`='yourtablename';我的问题是我需要从第二列开始进行选择。有没有人有想法。 最佳答案 您只需提及“ORDINAL_POSITION”即可。SELECT`COLUMN_NAME`FROM`INFORMATION_SCHEMA`.`COLUMNS`WHERE`TABLE

python - 重复列名 'model_id' django mysql 迁移错误

我在我的VPS上使用Django和MySQL。每当我运行pythonmanage.pymigrate时,我都会收到以下错误。但是在我的开发服务器上,我使用sqlite,并且迁移工作正常。Runningmigrations:Renderingmodelstates...DONEApplyingbloupergroups.0002_auto_20160826_1138...Traceback(mostrecentcalllast):File"manage.py",line10,inexecute_from_command_line(sys.argv)File"/home/ashish/En

设置数据集的列名,带有列表的内容

我读了一个带有数据的表TestTR还有一个带有相应列名称的列表Headrs。现在我想设置TestTR带有内容Headrs:TestTR:V1V2V3220200110100330300Headrs:Name1Name2Name3这就是应该的样子:Name1Name2Name3220200110100330300这是我的代码:TestTR看起来像以上(实际上名称不是name1,Name2,Name3-我在这里简化了)。看答案这应该有效:colnames(TestTR)